Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた
さがらです。
Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみたので、その内容を本記事でまとめてみます。
※Omni自体については、下記のブログが参考になると思います。
試す内容
下記のドキュメントに沿って、dbtのリポジトリと連携してみます。
使用するConnectionは、下記のブログで用いたSnowflakeのConnectionを使用します。このブログで使用したSnowflakeのデータベース・スキーマ・テーブルはdbtを用いて構成しているので、ちょうど本記事の検証内容にマッチするためです。
Connectionのdbt連携設定
まず、dbtと連携をしたいConnectionの設定画面で、dbt
タブを押します。
すると、下図のような画面が出てくるので、各種情報を入力し、右下のSave
を押します。
- Git SSH URL:連携対象のGitHubのリポジトリのSSHのURL
- Git Branch:
main
など、本番管渠として利用している - Target Schema:dbtのProduction Environmentとしている環境の出力先のスキーマ名を入力
- dbt Cloudの場合、Deployment Environments > Production Prod > Settings > Deployment Credentials > Schemaで確認可能です。
同じ画面の下部にPublic Key
が表示されるため、これをコピーして、対象のリポジトリのDeploy keys
新しいDeploy keyを追加して貼り付けます。Allow write access
も忘れずにチェックして、Add key
を押します。
Deploy keyの追加後、Omniの画面に戻りTest Connection
を押します。押した結果下図のように表示されて問題なければ、Save
を押します。
dbtのdescriptionの連携
対象のConnectionのModel開発画面に移動し、上部のModel
からRefresh schema
を押します。
すると、下図のようにdbtで定義していたdescriptionが反映されました!日本語のdescriptionであっても問題なく反映されています。(ちなみに、ドキュメントによると2024年8月18日時点はこの更新は自動化はされていないようです。)
また、各viewの最下部には紐づくdbt ModelのSQLの内容も反映されています。
ちなみに、dbtから引用したDescriptionはフィールドピッカーでも表示可能です。
最後に
Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみたので、その内容を本記事でまとめてみました。
dbtを使用しているユーザーは多いと思いますので、dbtのdescriptionがそのまま活用できるのは嬉しいですね!